package com.novanok.micurso;

import android.app.Activity;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.EditText;

import com.firebase.client.Firebase;
import com.firebase.client.FirebaseError;
import com.novanok.micurso.entidad.Comun;
import com.novanok.micurso.entidad.Curso;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;

public class CursosProfesorItemActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.cursos_profesor_item_activity);
        Firebase.setAndroidContext(this);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.curso_item, menu);
        return true;
    }


    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch ( item.getItemId() ) {
            case R.id.aceptar:
                this.nuevoCurso();
                return true;

            case R.id.cancelar:
                finish();
                return true;

            default:
                return super.onOptionsItemSelected(item);
        }
    }

    private void nuevoCurso(){
        final String curso = ((EditText)findViewById(R.id.txtNombre)).getText().toString();
        final String aula = ((EditText)findViewById(R.id.txtAula)).getText().toString();
        final String catedra = ((EditText)findViewById(R.id.txtCatedra)).getText().toString();
        final String horario = ((EditText)findViewById(R.id.txtHorario)).getText().toString();

        boolean resultado = true;
        if ( resultado && curso.trim().compareTo("") == 0 ){
            resultado = false;
            Mensaje.getMensaje().mostrarInformacion(this, CursosProfesorItemActivity.this.getResources().getString(R.string.cursoEmpty), new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialogInterface, int i) {

                }
            });
        }

        if ( resultado && aula.trim().compareTo("") == 0 ){
            resultado = false;
            Mensaje.getMensaje().mostrarInformacion(this, CursosProfesorItemActivity.this.getResources().getString(R.string.autlaEmpty), new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialogInterface, int i) {

                }
            });
        }

        if ( resultado && catedra.trim().compareTo("") == 0 ){
            resultado = false;
            Mensaje.getMensaje().mostrarInformacion(this, CursosProfesorItemActivity.this.getResources().getString(R.string.aulaDescription), new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialogInterface, int i) {

                }
            });
        }

        if ( resultado ) {
            Curso c = new Curso();
            c.setNombre(curso);
            c.setAula(aula);
            c.setCatedra(catedra);
            c.setHorario(horario);

            Firebase rootRef = new Firebase("https://mi-curso.firebaseio.com/cursos");

            Map<String, String> colabo = new HashMap<String, String>();

            colabo.put("nombre", c.getNombre());
            colabo.put("aula", c.getAula());
            colabo.put("catedra", c.getCatedra());
            colabo.put("horario", c.getHorario());

            rootRef.push().setValue(colabo, new Firebase.CompletionListener() {
                @Override
                public void onComplete(FirebaseError firebaseError, Firebase firebase) {
                    String codigo = UUID.randomUUID().toString();
                    codigo = codigo.substring((codigo.length() - 7), codigo.length() - 1);

                    Firebase rootRef = new Firebase("https://mi-curso.firebaseio.com/profesor/" + Comun.getProfesor().getProfesor_id() + "/mis_cursos/" + codigo);

                    Map<String, String> newCurso = new HashMap<String, String>();
                    newCurso.put("curso_id", firebase.getKey());
                    newCurso.put("nombre", curso);
                    newCurso.put("aula", aula);
                    newCurso.put("catedra", catedra);
                    newCurso.put("horario", horario);

                    rootRef.setValue(newCurso);

                    CursosProfesorItemActivity.this.finish();
                }
            });
        }
    }
}
